import mongoose from 'mongoose';
import dotenv from 'dotenv';
import logger from "./utils/logger";

// 加载环境变量
dotenv.config();

// 获取 MongoDB 连接信息
const root = process.env.DBROOT || '';
const host = process.env.DBHOST || '';
const port = process.env.DBPORT || '';
const name = process.env.DBNAME || '';

// 使用数据库的用户名和密码（如果有设置）
const mongoDBURI = `mongodb://${root}@${host}:${port}/${name}`;

// 数据库连接函数
export const connectDB = async () => {
    try {
        await mongoose.connect(mongoDBURI, {
            maxPoolSize: 10
        });
        logger.info('MongoDB connected successfully');
    } catch (err) {
        logger.error({msg: 'MongoDB connection error:', err});
        process.exit(1);  // 连接失败时退出应用
    }
};
